Interoperable case series system

ABSTRACT

A system is provided that integrates a case series repository with one or more software applications. The system receives a case series, where the case series includes one or more adverse event cases, and the system further receives a case revision, where the case revision includes case revision information. The system further stores the case series and the case revision within a case series repository using a case series data model. The system further associates the case revision with the case series using the case series data model. The system further retrieves the case series and the associated case revision using a case series programming interface.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority of U.S. Provisional Patent ApplicationSer. No. 61/720,611, filed on Oct. 31, 2012, the subject matter of whichis hereby incorporated by reference.

FIELD

One embodiment is directed to a computer system, and more particularly,to a computer system that manages clinical data.

BACKGROUND

In the domain of health sciences, such as drug safety, a “case series”is a list of adverse event cases. An “adverse event case” or “case” is adata record of a particular incident of an adverse event occurring in apatient. Each adverse event case can have a unique identifier. In healthscience in general, a case series can also be identified as a “patientlist,” or “subject list.”

Many drug safety systems can produce and consume case series, where a“drug safety system” is a system that stores drug safety data, and wheredrug safety data includes data related to the safety of one or moredrugs, such as one or more adverse event cases. Typically, inside thesesystems, an executable process produces a case series and passes it toone or more executable processes which operate on it. In a commonscenario, an executable process that executes a query on a data source,such as a drug safety system, can produce a case series and pass it toan executable process that executes a report. In this scenario, the caseseries is the result of the executable process that executes the queryon the data source. In other words, a list of cases that comprise thecase series is a list of cases that matches the conditions specified inthe query that is executed by the executable process on the data source.The report can be the desired output format of the case series, and thereport can be executed by an executable process. The case series cantypically contain at least the unique identifier (typically identifiedas a “case identifier”) for each case, and may also contain additionalcase data or metadata that represent the adverse event cases in the caseseries. The data fields in the case series do not necessarily have to bethe same as the data fields specified in the query or in the report. Thedata fields in the case series can typically be fixed while the reportdata fields can be changed depending on the desired output format.

Many drug safety systems have multiple software applications or systemsthat can operate on the same drug safety data. Furthermore, it can becommon to have multiple databases of the same cases organized fordifferent purposes. For example, the United States Food and DrugAdministration (“USFDA” or “FDA”) has a network of at least four drugsafety databases, and has at least five major drug safety softwareapplications/systems that can access the data.

SUMMARY

One embodiment is an interoperable case series system that integrates acase series repository with one or more software applications. Theinteroperable case series system receives a case series, where the caseseries includes one or more adverse event cases, and where each adverseevent case includes a data record that represents an adverse event. Theinteroperable case series system further receives a case revision, wherethe case revision includes case revision information, and where the caserevision information includes at least one change to an adverse eventcase of the case series. The interoperable case series system furtherstores the case series and the case revision within a case seriesrepository using a case series data model, where the case series datamodel defines a format of the case series and the case revision withinthe case series repository. The interoperable case series system furtherassociates the case revision with the case series using the case seriesdata model. The interoperable case series system further retrieves thecase series and the associated case revision using a case seriesprogramming interface, where the case series application programminginterface defines a format of the case series and the associated caseseries revision for a software application.

BRIEF DESCRIPTION OF THE DRAWINGS

Further embodiments, details, advantages, and modifications will becomeapparent from the following detailed description of the preferredembodiments, which is to be taken in conjunction with the accompanyingdrawings.

FIG. 1 illustrates a block diagram of a system that can implement anembodiment of the invention.

FIG. 2 illustrates a block diagram of an interoperable case seriessystem, according to an embodiment of the invention.

FIG. 3 illustrates a block diagram of a case series data model,according to an embodiment of the invention.

FIG. 4 illustrates a block diagram of an example implementation of aninteroperable case series system, according to an embodiment of theinvention.

FIG. 5 illustrates a flow diagram of the functionality of aninteroperable case series module, according to an embodiment of theinvention.

FIG. 6 illustrates a block diagram of a cohort identification system,according to an embodiment of the invention.

FIG. 7 illustrates a block diagram of an example implementation of acohort identification system, according to an embodiment of theinvention.

FIG. 8 illustrates a flow diagram of the functionality of a cohortidentification module, according to an embodiment of the invention.

FIG. 9 illustrates an example query that creates an example case seriesthat creates an example report, according to an embodiment of theinvention.

DETAILED DESCRIPTION

In one embodiment, an interoperable case series system is provided thatcan integrate a case series repository with one or more softwareapplications that produce and consume case series. As described in thisspecification, a “computer application,” “software application,” or“application” is any collection of computer programs and/or modules. Asoftware application may be part of the interoperable case seriessystem, may be part of a larger system that includes the interoperablecase series system, may be part of a separate system, or may not be apart of any system at all. A “case series” is a set of one or moreadverse event cases. An “adverse event case” or “case” includes a datarecord that represents an adverse event. A “patient list” is a set ofone or more medical records. A medical record is a data record thatincludes medical data. The interoperable case series system can includea central case series repository that can store one or more case seriesin addition to information related to the one or more case series, suchas case series history information related to each case series, and caserevision information related to each case series. The interoperable caseseries system can further include an application programming interface(“API”) that one or more software applications can interface with, sothat the one or more software applications can produce or consume one ormore case series using the case series repository. The interoperablecase series can further include a case series data model that cancontain a canonical representation of one or more case series, andinformation related to each case series, such as case series historyinformation related to each case series, and case revision informationrelated to each case series.

FIG. 1 illustrates a block diagram of a system 10 that can implement oneembodiment of the invention. System 10 includes a bus 12 or othercommunications mechanism for communicating information betweencomponents of system 10. System 10 also includes a processor 22,operatively coupled to bus 12, for processing information and executinginstructions or operations. Processor 22 may be any type of general orspecific purpose processor. System 10 further includes a memory 14 forstoring information and instructions to be executed by processor 22.Memory 14 can be comprised of any combination of random access memory(“RAM”), read only memory (“ROM”), static storage such as a magnetic oroptical disk, or any other type of machine or computer-readable medium.System 10 further includes a communication device 20, such as a networkinterface card or other communications interface, to provide access to anetwork. As a result, a user may interface with system 10 directly, orremotely through a network or any other method.

A computer-readable medium may be any available medium that can beaccessed by processor 22. A computer-readable medium may include both avolatile and nonvolatile medium, a removable and non-removable medium, acommunication medium, and a storage medium. A communication medium mayinclude computer readable instructions, data structures, program modulesor other data in a modulated data signal such as a carrier wave or othertransport mechanism, and may include any other form of informationdelivery medium known in the art. A storage medium may include RAM,flash memory, ROM, erasable programmable read-only memory (“EPROM”),electrically erasable programmable read-only memory (“EEPROM”),registers, hard disk, a removable disk, a compact disc read-only memory(“CD-ROM”), or any other form of storage medium known in the art.

Processor 22 can also be operatively coupled via bus 12 to a display 24,such as a Liquid Crystal Display (“LCD”). Display 24 can displayinformation to the user. A keyboard 26 and a cursor control device 28,such as a computer mouse, can also be operatively coupled to bus 12 toenable the user to interface with system 10. In other embodiments, auser can interface with system 10 using a human interface device (notshown in FIG. 1), where a human interface device is a device configuredto interact directly, and take input from, a user. Examples of a humaninterface device include a webcam, a fingerprint scanner, and a headset.

According to one embodiment, memory 14 can store software modules thatmay provide functionality when executed by processor 22. The modules caninclude an operating system 15, an interoperable case series module 16,as well as other functional modules 18. Operating system 15 can providean operating system functionality for system 10. Interoperable caseseries module 16 can provide functionality for integrating a case seriesrepository with applications that produce and consume case series, aswill be described in more detail below. In certain embodiments,interoperable case series module 16 can comprise a plurality of modules,where each module provides specific individual functionality forintegrating a case series repository with applications that produce andconsume case series. System 10 can also be part of a larger system.Thus, system 10 can include one or more additional functional modules 18to include the additional functionality. For example, functional modules18 may include modules that provide additional functionality, such as amodule of the “Oracle Argus Insight” product from Oracle Corporation.

Processor 22 can also be operatively coupled via bus 12 to a database34. Database 34 can store data in an integrated collection oflogically-related records or files. Database 34 can be an operationaldatabase, an analytical database, a data warehouse, a distributeddatabase, an end-user database, an external database, a navigationaldatabase, an in-memory database, a document-oriented database, areal-time database, a relational database, an object-oriented database,or any other database known in the art. Further, database 34 can beaccessed through an API, and can support a query language.

FIG. 2 illustrates a block diagram of an interoperable case seriessystem 200, according to an embodiment of the invention. Interoperablecase series system 200 can include case series repository 210, caseseries data model 220, and case series API 230. In certain embodiments,interoperable case series system 200 can also include a user interfacecomponent (not illustrated in FIG. 2) that provides functionality forbrowsing and manipulating one or more case series.

According to the embodiment, case series repository 210 is a repositorythat can store data, such as one or more case series. For example, in anembodiment where a case series includes one or more case identifiers(where each identifier uniquely identifies each adverse event caseincluded within the case series), and further includes case data and/orcase metadata that together represent the one or more adverse eventcases included within the case series, case series repository 210 canstore the one or more case identifiers, and the associated case dataand/or case metadata. Furthermore, for each case series, case seriesrepository 210 can also store information related to each case series,such as case series history information and case revision information,which is further described below in greater detail. Case seriesrepository 210 can be any type of repository that can store data, suchas a database or a file.

Further, according to the embodiment, case series data model 220 is adata model that can include a canonical representation of a case series,and information related to the case series. For example, in anembodiment where a case series includes one or more case identifiers andfurther includes case data and/or case metadata that together representthe one or more adverse event cases included within the case series,case series data model 220 can include a data field that represents thecase identifier, and one or more additional data fields that representthe case data and/or case metadata.

Furthermore, where the case series includes information related to thecase series, case series data model 220 can further include one or moreadditional data fields that represent the information related to thecase series. In certain embodiments, the information related to the caseseries can include case series history information. Case series historyinformation can include information regarding the history of the caseseries, such as the individual that generated the case series, themechanism that generated the case series, the one or more individualsthat have modified the case series, etc. In certain embodiments, caseseries history information can be stored in a format of one or morechange logs that can be associated with a case series.

In other embodiments, the information related to the case series caninclude case revision information. Case revision information can includeinformation regarding one or more revisions of the case series.According to an embodiment, a revision is any change to an adverse eventcase of the case series. Thus, according to the embodiment, a caseseries can include one or more case revisions. Further, each caserevision can be identified by the partner application that created thecase revision.

In addition to, or as an alternative to including information regardingone or more revisions of the case series, case revision information caninclude information regarding one or more versions of the case series.According to an embodiment, a version is a change to an adverse eventcase of the case series that has gone through a quality analysis cycle,and is identified as ready for scientific analysis. In other words,according to the embodiment, every version of a case series is also arevision of the case series, but not every revision of the case seriesis also a version of the case series. In one example, a producingsoftware application may include in-process revisions to cases, but aconsuming software application may only support work with finalversions. Case series data model 220, in conjunction with case seriesAPI 230, can allow the software applications to interpret the caserevision information so that it can be most accurately used in theconsuming software application. Thus, a case series can also beidentified as a case revision series. Further, case revision informationcan include multiple revisions of the same case. In certain embodiments,case revision information can be stored in a format of one or morerevisions that can be associated with a case series. An example of caseseries data model 220 is further described in relation to FIG. 3.

According to the embodiment, case series API 230 is an API that canexpose case series data model 220, and that can represent case seriesdata model 220 to a software application based on a format specified bythe software application. Thus, case series API 230 can allow a softwareapplication to interface with case series repository 210. According toan embodiment, case series API 230 can provide functionality forproducing, consuming, searching for and/or updating one or more caseseries. Further, in one embodiment, a first software application canproduce a case series and store the case series in case seriesrepository 210 using case series API 230. According to the embodiment, asecond software application can consume the case series produced by thefirst software application and stored within case series repository 210using case series API 230. Thus, rather than requiring the firstsoftware application to export the case series, and requiring the secondsoftware application to import the case series, the two softwareapplications can interface with case series repository 210 using caseseries API 230.

According to an embodiment, case series repository 210, case series datamodel 220, and case series API 230 support four kinds of case series:(1) named case series; (2) active user case series; (3) single-use caseseries; and (4) case hit list. A named case series is a case series thatincludes an explicit unique name. The name can be given to the namedcase series by a user or by a function or executable process of aproducing software application. Further, a software application canrequest a named case series by name. Case series repository 210 cansupport search or browse functions on a named case series. An activecase series is a case series that is associated with a user. An activecase series can be named for the user that the active case series isassociated with. Content of an active case series can exist until it isoverwritten. Thus, an active case series can allow for the creation of apersonal work space that can span multiple software applications. Asingle-use case series is a case series that can exist within caseseries repository 210 for the single purpose of executing a singlereport. After a transaction completes, a single-use case series can bedeleted. Case series repository 210 can orchestrate the execution of thereport through an API that is separate from case series API 230. A casehit list is a case series that can be completely managed by a producingsoftware application. When a case hit list is stored in case seriesrepository 210, the case hit list can be given an identity known only tothe producing software application. A case hit list does not appear in alist of named case series, but can be accessible to a consumer who ispassed the identity by the producing software application.

Additionally, in one embodiment, case series repository 210, case seriesdata model 220, and case series API 230 support other series that arevery similar to case series: (1) event series; and (2) product series. Aquery for a particular adverse event that can be executed on a datasource, such as a drug safety system, can produce a case series that canbe stored within case series repository 210. Each case in the caseseries can have at least one event that matches the query. However, eachcase may also include additional events that do not match the query.Thus, a case series can include all cases that match a query, and all ofthe events related to those cases, whether the event matches the queryor not. In contrast, an event series that is produced from a queryexecuted on a data source can include all cases that match the query,but only include the events related to those cases that match the queryas well. Further, a query for a particular medicinal or pharmaceuticalproduct can also produce a case series. Each case in the case series canhave at least one product that matches the query. However, each case mayalso include additional products that do not match the query. Thus, acase series can include all cases that match a query, and all of theproducts related to those cases, whether the product matches the queryor not. In contrast, a product series that is produced from a queryexecuted on a data source can include all cases that match the query,but only include the products related to those cases that match thequery as well. Additionally, named event series, named product series,active event series, active product series, single-use event series,single-use product series, event hit lists and product hit lists arevalid variations, and can work in an analogous way, to the named caseseries, active case series, single-use case series, and case hit lists,previously described above.

According to an embodiment, case series API 230 can execute thefollowing functions on a case series, event series, or product series:(a) view a series; (b) save a series; (c) make a series active; (d)assign access rights to a series; (e) add a case to a series; (f) deletea case from a series; (g) delete a series; (h) annotate a case; (i)annotate a series; (j) export a series; (k) freeze a series; and (l)merge two series. The aforementioned functionality is further describedin greater detail.

A user can view information stored in a series including one or morecase identifiers, case revision information, case series historyinformation, any other information related to the series, a querycriteria that created the series, or any other properties and/ormetadata of the series. Viewing can include searching and sortingfunctionality. A user can also save a series and give it a name, makingit a named series. A user can make a series into an active series. Auser who created a series can assign access rights to the series, suchas read access and/or write access. Additionally, a user can add a caseto a series. A user can also delete a case from a series. Further, auser can delete a series from case series repository 210. Also, a usercan make a text annotation to a case in a series in the context of thatseries. If the same case appears in other series, the annotations forthe case in the various series can be separate. A user can also maketext annotations at a series level. Additionally, a user can export aseries to a file. Further, a user can freeze a series, where the casedata in the series does not change after the date and time it wasfrozen, even if the cases are updated in a corresponding data sourcethat includes the case data, such as a drug safety system. A user canalso unfreeze a series, so that the case data can again reflect the mostcurrent revisions available. A user can also merge two series using aunion, intersect or minus operation, and thereby create a new series.

Case series API 230 can further perform provide the functionality toproduce, consume, search, and update functions, according to theembodiment. In performing a produce function, case series API 230 canreceive a series and store the series within case series repository 210.In performing a consume function, case series API 230 can retrieve aseries from case series repository 210 and implement the series within asoftware application (such as displaying the series within a userinterface of the software application). In performing a search function,case series API 230 can search for a series stored within case seriesrepository 210. In performing an update function, case series API 230can update a series stored within case series repository 210.

In certain embodiments, an embodiment can add new case series to caseseries repository 210 by executing a query on a data source, such as adrug safety system, where one or more cases returned by the query can bestored within case series repository 210 as a case series. Additionally,in some of these embodiments, a user can add new series to case seriesrepository store in other ways than be executing a query on a datasource. More specifically, a user can add a new series by: (a) enteringa series; or (b) importing a series. By entering a series, a user canmanually enter one or more case identifiers within case seriesrepository 210 to create one or more new series. Alternately, a user canimport a new series into case series repository 210 from a filecontaining one or more case identifiers.

FIG. 3 illustrates a block diagram of a case series data model 300,according to an embodiment of the invention. In certain embodiments,case series data model 300 is identical to case series data model 220 ofFIG. 2. As previously described, case series data model 300 includes acanonical representation of one or more case series, and informationrelated to each case series, such as case series history informationrelated to each case series, and case revision information related toeach case series. As described below in greater detail, case series datamodel 300 can include a plurality of data fields, where each data fieldcan represent a data field of a case series repository (such as caseseries repository 210 of FIG. 2), and where each data field can berepresented in its own unique format by a case series API (such as caseseries API 230 of FIG. 2).

According to the embodiment, case series data model 300 includes caseseries 310. Case series 310 is a canonical representation of one or morecase series. In certain embodiments, case series 310 includes aplurality of data fields, where each data field can store case data ormetadata of each case series of the one or more case series. In some ofthese embodiments, case series 310 includes a data field that can storea case identifier of a case of the case series, and includes one or moredata fields that can store case data or metadata that represent the oneor more adverse event cases included within the case series. Thus, caseseries 310 can store a case identifier for each case of the case series,and case series 310 can store the data and/or metadata related to eachcase of the cases series. Thus, in these embodiments, case series 310can represent one or more case series by storing a plurality of valueswithin a plurality of data fields.

Case series data model 300 also includes change log 320. Change log 320is a canonical representation of case series history information that isrelated to a case series. As previously described, case series historyinformation can include information regarding the history of a caseseries, such as the individual that generated the case series, themechanism that generated the case series, the one or more individualsthat have modified the case series, etc. In certain embodiments, changelog 320 includes one or more data fields, where each data field canstore case series history information of each case series of the one ormore case series. According to these embodiments, each data field canstore a value that represents a distinct component of the case serieshistory information. For example, a first data field of change log 320can store a name of an individual that generated a case series, a seconddata field can store a name of a mechanism that generated the caseseries, a third data field can store a name of a first individual thatmodified the case series, a fourth data field can store a name of asecond individual that modified the case series, etc. According to anembodiment, case series 310 and change log 320 can have a one-to-manyrelationship, where one or more change logs can be associated with acase series. In one embodiment, change log 320 can be implemented as acharacter large object (“CLOB”), where each value of change log 320 canbe appended to the end of the CLOB.

Case series data model 300 also includes case revision 330. Caserevision 330 is a canonical representation of case revision informationthat is related to one or more case series. More specifically, incertain embodiments, a case series is a container that contains one ormore case revisions. In some scenarios, a case series can containmultiple case revisions of the same case. In other scenarios, a caseseries contains one case revision for each case of the case series. Aspreviously described, case revision information includes informationregarding one or more revisions of a case series and/or one or moreversions of the case series, where a revision can be any change to anadverse event case of the case series, and a version can be a change toan adverse event case of the case series that has been verifiedaccording to a defined review process. In certain embodiments, caserevision 330 includes one or more data fields, where each data field canstore case revision information of each case series of the one or morecase series. According to these embodiments, each data field can store avalue that represents a distinct component of the case revisioninformation. In certain embodiments, a revision and/or version of a caseseries can be represented in a format that is identical to a format ofthe original case series. Thus, in these embodiments, case revision 330includes a data field that can store a case identifier of a case of thecase series, and includes one or more data fields that can store casedata or metadata of the case of the case series, where the case data ormetadata includes the change to the adverse event case of the caseseries. In other embodiments, a revision and/or version of a case seriescan be represented in a format that solely includes the change to theadverse event case of the case series. Thus, in these embodiments, caserevision 330 includes one or more data fields that store the change tothe adverse event case of the case series. According to an embodiment,case series 310 and case revision 330 can have a one-to-manyrelationship, where one or more case revisions can be associated with acase series. In certain embodiments, case revision 330 also includestimestamp information that can be represented by two additional datafields, a valid start date/time data field, and a valid end date/timedata field. The time stamp information can represent a starting dateand/or time and an ending date and/or time that the revision or versionof the case series is valid. Further, a valid start date/time and avalid end date/time, are both features of source data that can enableproduction of a case series with case revision information. The timestamp information can, either in whole or in part, identify the revisionor version of the case series.

Case series data model 300 also includes annotation 340. Annotation 340is a canonical representation of annotation information that is relatedto one or more case revisions of a case series. Annotation informationcan include any user-defined information, where the user-definedinformation can serve to annotate a case revision of a case series. Incertain embodiments, annotation 340 includes one or more data fields,where each data field can store a user-defined value. According to anembodiment, case revision 330 and annotation 340 can have a one-to-manyrelationship, where one or more annotations can be associated with acase revision.

Case series data model 300 also includes folder 350. Folder 350 is acanonical representation of a logical grouping of one or more caseseries. Over time, a user can generate thousands of case series usingcase series data model 300. A nested folder storage system can be usedto organize the case series. Thus, one or more case series can beassociated with a folder, and one or more folders can be nested within afolder. Thus, according to an embodiment, folder 350 and case series 310can have a one-to-many relationship, where one or more case series canbe associated with a folder. In one embodiment, folder 350 is not partof case series data model 300, but instead is a representation of afolder functionality of a document management system that is leveragedin order to organize one or more case series generated using case seriesdata model 300 into one or more folders.

FIG. 4 illustrates a block diagram of an example implementation of aninteroperable case series system, according to an embodiment of theinvention. More specifically, FIG. 4 illustrates an example of aninteroperable case series system, such as interoperable case seriessystem 200 of FIG. 2, interacting with a plurality of softwareapplications. The implementation includes case series repository 400. Aspreviously described, case series repository 400 is a repository thatcan store data, such as one or more case series, and/or informationrelated to the one or more case series. In certain embodiments, caseseries repository 400 is identical to case series repository 210 of FIG.2. The implementation further includes case series data model 410. Asalso previously described, case series data model 410 is a data modelthat can include a canonical representation of a case series, andinformation related to the case series. In certain embodiments, caseseries data model 410 is identical to case series data model 220 of FIG.2 and case series data model 300 of FIG. 3. According to the embodiment,case series data model 410 can be a data model that represents the datastored within case series repository 400. In one embodiment, case seriesdata model 410 can include a plurality of data fields, where theplurality of data fields represents the plurality of data fieldsincluded within case series repository 400.

The implementation further includes data mining application 420 and datamining application case series API 430. According to the embodiment,data mining application 420 is a software application that includes oneor more executable processes that can execute data mining functionalityto find one or more related groups of cases within drug safety data.Data mining application 420 can produce one or more case series usingone or more data mining algorithms. Data mining application 420 canfurther consume one or more case series produced by another softwareapplication. In one embodiment, data mining application is an “EmpiricaSignal” product from Oracle Corporation.

Also according to the embodiment, data mining application case seriesAPI 430 provides an interface that exposes case series data model 410 todata mining application 420, that represents case series data model 410to data mining application 420 based on a format specified by datamining application 420, and, thus, that allows data mining application420 to interface with case series repository 400. Therefore, data miningapplication 420 can produce one or more case series, and can store theone or more produced case series within case series repository 400,using data mining application case series API 430. Likewise, data miningapplication 420 can retrieve one or more case series from within caseseries repository 400, and can consume the one or more retrieved caseseries, using data mining application case series API 430. In certainembodiments, data mining application case series API 430 represents acomponent of case series API 230 of FIG. 2.

The implementation further includes reporting application 440 andreporting application case series API 450. According to the embodiment,reporting application 440 is a software application that includes one ormore executable processes that can execute reporting functionality togenerate one or more reports that visualize one or more case series.Reporting application 440 can produce one or more case series using oneor more reporting algorithms. Reporting application 440 can furtherconsume one or more case series produced by another softwareapplication. In one embodiment, reporting application 440 is an “OracleArgus Insight” product from Oracle Corporation.

Also according to the embodiment, reporting application case series API450 provides an interface that exposes case series data model 410 toreporting application 440, that represents case series data model 410 toreporting application 440 based on a format specified by reportingapplication 440, and, thus, that allows reporting application 440 tointerface with case series repository 400. Therefore, reportingapplication 440 can produce one or more case series, and can store theone or more produced case series within case series repository 400,using reporting application case series API 450. Likewise, reportingapplication 440 can retrieve one or more case series from within caseseries repository 400, and can consume the one or more retrieved caseseries, using reporting application case series API 450. Further,reporting application case series API 450 can simplify the use of caseseries in a report of reporting application 440, can allow a report ofreporting application 440 to execute a query and use the resulting caseseries, and, if desired, can store the resulting case series in caseseries repository 400 for further use. In certain embodiments, reportingapplication case series API 450 represents a component of case seriesAPI 230 of FIG. 2.

Thus, according to the embodiment, data mining application 420 caninteract with reporting application 440, and vice-versa, as reportingapplication 440 can access one or more case series produced by datamining application 420, and data mining application 420 can access oneor more case series produced by reporting application 440. One ofordinary skill in the art would readily appreciate that data miningapplication 420 and reporting application 440 are examples of softwareapplications that produce and consume case series according to theembodiment, and that, in alternate embodiments, data mining application420 and reporting application 440 can be replaced with other softwareapplications that include alternate functionality. Further, there can beany number of case series APIs that support any number of softwareapplications, and that can allow any number of software applications toaccess case series repository 400 using case series data model 410.

FIG. 5 illustrates a flow diagram of the functionality of aninteroperable case series module, according to an embodiment of theinvention. In one embodiment, the functionality of the flow diagram ofFIG. 5 (described below), as well as the functionality of the flowdiagram of FIG. 8 (also described below), are each implemented bysoftware stored in a memory or some other computer-readable or tangiblemedium, and executed by a processor. In other embodiments, eachfunctionality may be performed by hardware (e.g., through the use of anapplication specific integrated circuit (“ASIC”), a programmable gatearray (“PGA”), a field programmable gate array (“FPGA”), etc.), or anycombination of hardware and software.

The flow begins and proceeds to 510. At 510 a case series is received.In certain embodiments, the case series is received from a partnerapplication. The case series includes one or more adverse event cases,and each adverse event case includes a data record that represents anadverse event. The case series can be a named case series, an activeuser case series, a single-use case series, or a case hit list. The caseseries can further be an event series or a product series. In certainembodiments, each data record that represents an adverse event furtherincludes drug safety data, where drug safety data includes one or morereports or patient identifiers that are related to the safety of one ormore drugs. In certain embodiments, the case series can include aplurality of case revisions. The flow proceeds to 520.

At 520, information related to the case series is received. In certainembodiments, the information related to the case series is received froma partner application. In certain embodiments, the information relatedto the case series includes case revision information, where caserevision information can include at least one change to an adverse eventcase of the case series. In these embodiments, a case revision isreceived that includes the case revision information. In certainembodiments, where the at least one change to the adverse event case ofthe case series is verified according to a defined review process, acase version is received that includes the case revision information.Further, in certain embodiments, the case revision information includestimestamp information that identifies the case revision. The timestampinformation can include a valid start date and/or time and a valid enddate and/or time.

In other embodiments, the information related to the case seriesincludes case series history information, where case series historyinformation can include information regarding the history of the caseseries, such as an individual that generated the case series, amechanism that generated the case series, or one or more individualsthat have modified the case series. In these embodiments, a change logis created that includes the case series history information. In otherembodiments, the information related to the case series includesuser-defined information. In these embodiments, an annotation is createdthat includes the user-defined information. In other embodiments, theinformation related to the case series includes a logical organizationof the case series and one or more additional case series. In theseembodiments, a folder is created that includes the logical organizationof the case series and the one or more additional case series. The flowproceeds to 530.

At 530, the case series, and the information related to the case series,are stored within a case series repository using a case series datamodel. A case series repository is a repository that can store data,such as one or more case series and information related to the one ormore case series. A case series data model is a canonical representationof a case series that defines a format of the case series and theinformation related to the case series within the case seriesrepository.

In embodiments where the information related to the case series includescase revision information, the case series data model defines a formatof the case revision within the case series repository. In embodimentswhere the information related to the case series includes case serieshistory information, the case series data model defines a format of thechange log within the case series repository. In embodiments where theinformation related to the case series includes user-definedinformation, the case series data model defines a format of theannotation within the case series repository. In embodiments where theinformation related to the case series includes a logical organizationof the case series and one or more additional case series, the caseseries data model defines a format of the folder within the case seriesrepository.

In certain embodiments, the case series data model includes a data fieldthat represents one or more case identifiers of the case series, and oneor more additional data fields that represent the one or more adverseevent cases of the case series. In these embodiments, each caseidentifier uniquely identifies an adverse event case of the one or moreadverse event cases. Further, in some of these embodiments, the caseseries data model includes one or more additional fields that representthe information related to the case series.

In embodiments where the information related to the case series includescase revision information, the case series data model includes one ormore additional data fields that represent the case revisioninformation. In embodiments where the case revision information includestimestamp information, the case series data model includes one or moreadditional data fields that represent the timestamp information. Inembodiments where the information related to the case series includescase series history information, the case series data model includes oneor more additional data fields that represent the case series historyinformation. In embodiments where the information related to the caseseries includes user-defined information, the case series data modelincludes one or more additional data fields that represent theuser-defined information. In embodiments where the information relatedto the case series includes a logical organization of the case seriesand one or more additional case series, the case series data model thecase series data model includes one or more additional data fields thatrepresent the logical organization of the case series and one or moreadditional case series. The flow proceeds to 540.

At 540, the information related to the case series is associated withinthe case series using the case series data model. In embodiments wherethe information related to the case series includes case revisioninformation, the case revision is associated with the case series usingthe case series data model. In embodiments where the information relatedto the case series includes case series history information, the changelog is associated with the case series using the case series data model.In embodiments where the information related to the case series includesuser-defined information, the annotation is associated with the caserevision using the case series data model. In embodiments where theinformation related to the case series includes a logical organizationof the case series and one or more additional case series, the caseseries is associated with the folder. The flow proceeds to 550.

At 550, the case series and the associated information related to thecase series is retrieved from the case series repository using a caseseries API. The case series API is an API that that represents the caseseries data model to a software application based on a format specifiedby the software application. Thus, the case series API can define aformat of the case series and the information related to the case seriesfor the software application. The case series API can use the caseseries data model to retrieve the case series and the associatedinformation form the case series repository. The flow then ends.

FIG. 6 illustrates a block diagram of a cohort identification system600, according to an embodiment of the invention. Components of cohortidentification system 600 that are shaded in FIG. 6 are components thatcan change depending on a data model of a data source, as will bedescribed below in greater detail. Cohort identification system 600 caninclude query builder user interface (“UI”) 605. Query builder UI 605 isa user interface that can be displayed to a user of cohortidentification system 600, where query builder UI 605 can allow a userto create a query. In other embodiments, query builder UI 605 candisplay one or more data fields of a data source, and a user can selectat least one of the one or more data fields to be part of the query. Inthese embodiments, a user can also enter criteria that can be part ofthe query. As will be described in greater detail, the query created bythe user can be executed on a data source, such as a drug safety system,in order to retrieve data stored within the data source, such as drugsafety data. In certain embodiments, a user can enter SQL syntax for thequery within query builder UI 605. Further, in certain embodiments,query builder UI 605 can allow an author of the query to specify one ormore place holders, identified as parameters. When the query isexecuted, a user can be prompted to enter a parameter value for eachparameter. In addition, query builder UI 605 can also allow a user toexecute a query.

Cohort identification system 600 can also include metadata 610.According to the embodiment, metadata 610 describes the data within adata source, such as drug safety data within a drug safety system. Morespecifically, metadata 610 describes information about each data fieldof the data source that can be queried. Such information can include adata type of the data field and information required to construct a SQLquery that include the data field. Metadata 610 can also include one ormore query fields that can be derived from source data, or a combinationof source data and reference data. According to the embodiment, querybuilder UI 605 can retrieve metadata 610 so that a user can create aquery based on metadata 610 using query builder UI 605. Because ofmetadata 610, cohort identification system 600 is not limited to only beoperatively coupled to a particular data source, or a particular datamodel of a data source. Instead, cohort identification system 600 isdata model-independent, and can be operatively coupled with a widevariety of data sources, as will be described in greater detail.Metadata 610 can be stored in any data structure contained within cohortidentification system 600, such as a repository. Examples of metadata610 are further described in the Appendix that is included along withthis specification.

Cohort identification system 600 can further include query repository615. Query repository 615 is a repository that can store one or morequeries. According to the embodiment, query builder UI 605 can store aquery that is created within query builder UI 605 within queryrepository 615. A query created within query builder UI 605 can bestored within query repository 615 when it is determined that the querycan likely be subsequently reused, such as when the query can retrievedata that will likely be used in a wide range of scenarios.

Cohort identification system 600 can also include query compiler 620.Query compiler 620 can retrieve a query that is stored within queryrepository 615, and can compile the stored query. By compiling thestored query, query compiler 620 can convert the query into anexecutable format, so that the stored query can be compiled. In someembodiments, query compiler 620 can further execute the query, once thequery has been converted into an executable format. In executing thequery, query compiler 620 can execute the query on a data source, andcan retrieve and store data that is returned by the data source based onthe query. In some embodiments, the data that is returned by the datasources includes drug safety data, where the drug safety data includesone or more adverse event cases, where each adverse event case is a datarecord that represents an adverse event. Further, the execution of thequery can create a case series.

Cohort identification system 600 can further include case seriesrepository 625. Case series repository 625 is a repository that canstore data, such as one or more case series. For example, in anembodiment where a case series includes one or more case identifiers andfurther includes case data and/or case metadata that together representthe one or more adverse event cases included within the case series,case series repository 625 can store the one or more case identifiers,and the associated case data and/or case metadata. According to theembodiment, once query compiler 620 executes a query and creates a caseseries, query compiler can store the created case series within caseseries repository 625. In certain embodiments, case series repository625 can include an associated case series data model (not illustrated inFIG. 6) that can include a canonical representation of a case series.For example, in an embodiment where a case series includes one or morecase identifiers and further includes case data and/or case metadatathat together represent the one or more adverse event cases includedwithin the case series, the case series data model can include a datafield that represents the case identifier, and one or more additionaldata fields that represent the case data and/or case metadata. Incertain embodiments, case series repository 625 is identical to caseseries repository 210 of FIG. 2, and case series repository 400 of FIG.4.

Cohort identification system 600 can also include reporting case seriesAPI 630. According to the embodiment, reporting case series API 630 isan API that can expose the case series data model associated with caseseries repository 625, and that can represent the case series data modelassociated with case series repository 625 to a reporting application(such as reporting application 640) based on a format specified by thereporting application. Thus, reporting case series API 630 can allow areporting application (such as reporting application 640) to interfacewith case series repository 625. In other words, reporting case seriesAPI 630 can retrieve a case series from case series repository 625 andimplement the series within a reporting application (such as reportingapplication 640). In certain embodiments, reporting case series API 630represents a portion of case series API 230 of FIG. 2, and is identicalto reporting application case series API 450 of FIG. 4. Reportingapplication 640 is a software application that includes one or moreexecutable processes that can execute reporting functionality togenerate one or more reports that visualize one or more case series. Thegenerating the one or more reports can include displaying the one ormore reports within reporting application 640. Reporting application 640can also produce one or more case series using one or more reportingalgorithms. Reporting application 640 can further consume one or morecase series produced by cohort identification system 600 that are storedwithin case series repository 625 using reporting case series API 630.In certain embodiments, reporting application 640 is identical toreporting application 440 of FIG. 4.

Cohort identification system 600 can further include interoperable caseseries API 635. According to the embodiment, interoperable case seriesAPI 635 is an API that can expose the case series data model associatedwith case series repository 625, and that can represent the case seriesdata model associated with case series repository 625 to a partnerapplication (such as partner application 650) based on a formatspecified by the partner application. Thus, interoperable case seriesAPI 635 can allow a partner application (such as partner application650) to interface with case series repository 625. In other words,interoperable case series API 635 can retrieve a case series from caseseries repository 625 and implement the series within a partnerapplication (such as partner application 650). Partner application 650is a software application that can consume one or more case seriesproduced by cohort identification system 600 that are stored within caseseries repository 625 using interoperable case series API 635. Partnerapplication 650 can also provide other functionality, such as creatingone or more cases series that can be stored within case seriesrepository 625 using interoperable case series API 635. In certainembodiments, interoperable case series API 635 is identical to caseseries API 230 of FIG. 2.

Cohort identification system 600 can also include compiler rules 645.According to the embodiment, compiler rules 645 can include one or moresyntax rules that can be applied, by query compiler 620, to a querycreated by query builder UI 605 in order to determine that the querycomplies with the one or more syntax rules. Compiler rules 645 can bestored in any data structure contained within cohort identificationsystem 600, such as a repository.

Cohort identification system 600 can further include ontology browser UI655. In embodiments where a data source is a reference ontologies datasource, where a reference ontologies data source is described below ingreater detail, ontology browser UI 655 can retrieve one or morereference ontologies from the reference ontologies data source anddisplay the one or more reference ontologies to a user of cohortidentification system 600 within a UI. Thus, one or more elements froman ontology can be selected and used as criteria in a query.

Cohort identification system 600 can further include case series editorand management UI 665. Case series editor and management UI 665 canallow a user of cohort identification system 600 to edit and manage oneor more case series stored within case series repository 625.

Cohort identification system 600 can also include case series viewer UI675. Case series viewer UI 675 can allow a user of cohort identificationsystem 600 to view one or more case series. The one or more case seriescan be stored within case series repository 625. Alternatively, the oneor more case series can be stored within a data source.

Further, according to the embodiment, cohort identification system 600can be operatively coupled to one or more data sources. As previouslydescribed, components of cohort identification system 600 (i.e., querybuilder UI 605 and query compiler 620) can allow a user to create andexecute one or more queries on one or more data sources operativelycoupled to cohort identification system 600. In certain embodiments, theone or more data sources can include drug safety data, and in some ofthese embodiments, drug safety data can include data related to thesafety of one or more drugs, such as one or more adverse event cases. Inthe illustrated embodiment of FIG. 6, the one or more data sourcesinclude reference ontologies data source 660, and adverse event reportdatabases 670, 680, and 690. Reference ontologies data source 660 is adata source that includes data regarding reference ontologies. Examplesof reference ontologies data source 660 include a SystematizedNomenclature of Medicine (“SNOMED”) data source, a Medical Dictionaryfor Regulatory Activities (“MedDRA”) data source, or a World HealthOrganization (“WHO”) drug data source. Adverse event report databases678, 680, and 690 are data sources that include drug safety data, wherethe drug safety data includes one or more adverse event cases. However,these data sources are merely example data sources according to theillustrated embodiment, and in alternate embodiments, cohortidentification system 600 can be operatively coupled to any number ofdata sources, and each data source can be any type of data source thatincludes data.

Cohort identification system 600 can further include federated queryexecution engine 685. Federated query execution engine 685 can allow astored query to be compiled and be executed against multiple datasources. Federated query execution engine 685 can further merge the oneor more case series returned from each data source into a single caseseries.

Cohort identification system 600 can also include flexiblerecategorization API 695. Flexible recategorization API 695 cannormalize an interface to one or more code lists used in a data source.In most health related databases, discrete values are stored as codes.Code lists can be used to display one or more natural languageequivalent terms. This feature can allow a user to specify querycriteria in his, or her, own language. Further, one or more roll-upterms, such as “continent,” can be used to refer to a group of discretevalues, such as countries. Flexible recategorization API 695 can alsoallow one or more ranges of a continuous variable, such as age, to bemapped into one or more discrete named categories, such as “adult” or“child.” Flexible recategorization API 695 can allow the same codemapping to be used in reporting, thus, ensuring consistency between thequery and the reports.

FIG. 7 illustrates a block diagram of an example implementation of acohort identification system, according to an embodiment of theinvention. At 710, a query is created. The query can be executed on adata source, such as a drug safety system, in order to retrieve datastored within the data source, such as drug safety data. According tothe embodiment, in order to create the query, metadata can be retrieved,where the metadata describes the data within the data source. Morespecifically, the metadata can describe information about each datafield of the data source that can be queried. Such information caninclude a data type of the data field and information required toconstruct a SQL query that include the data field. The query that iscreated is further stored at query repository 720, where queryrepository 720 is a repository that can store data, such as one or morequeries.

At 730, a query is retrieved from query repository 720, where the queryis compiled and executed on adverse event report database 740, anexample of a data source. Adverse event report database 740 is a datasource that includes drug safety data, where the drug safety dataincludes one or more adverse event cases. In executing the query, data,such as drug safety data, can be retrieved from adverse event reportdatabase 740. Further, in executing the query, a case series can becreated and stored within case series repository 750.

At 760, the case series is retrieved from case series repository 750,and reports 770 are generated that can visualize the case series.According to an embodiment, a reporting case series API can interfacewith case series repository 750 and retrieve the case series from caseseries repository 750 and implement the case series within a reportingapplication, in order to generate the one or more reports that canvisualize the case series, where the reporting application can displaythe generated one or more reports. In certain embodiments, thegeneration of reports that is performed at 760, can include retrievingdata from adverse event report database 740.

FIG. 8 illustrates a flow diagram of the functionality of a cohortidentification module, according to an embodiment of the invention. Theflow begins and proceeds to 810. The flow can begin when a userindicated that he, or she, wants to create a query. At 810, metadata isretrieved, where the metadata includes information about one or moredata fields of a data source. According to the embodiment, theinformation can include a data type and SQL information for each datafield of the one or more data fields. In certain embodiments, the datasource can be an adverse event report database that stores one or moreadverse event cases. The flow proceeds to 820.

At 820, a query is created for the data source based on the retrievedmetadata. The query can be a query that is executed on a data source, inorder to retrieve data stored within the data source. In certainembodiments, the retrieved metadata can be used to determine one or moredata fields of the data source that are part of the query. Also, incertain embodiments, the retrieved metadata can be used to determine SQLthat is part of the query. The flow proceeds to 830.

At 830, the query is compiled based on one or more compiler rules.According to the embodiment, compiler rules can include one or moresyntax rules that are applied to the query to determine that the querycomplies with the one or more syntax rules. In certain embodiments, thequery can be stored in a query repository. The flow proceeds to 840.

At 840, the query is executed on the data source, where the execution ofthe query creates a case series. In certain embodiments, the case seriesincludes one or more adverse event cases, where each adverse event caseincludes a data record that represents an adverse event. In some ofthese embodiments, each data record that represents an adverse eventfurther includes drug safety data, where drug safety data includes oneor more reports or patient identifiers that are related to the safety ofone or more drugs. In certain embodiments, the case series is stored ina case series repository. The flow proceeds to 850.

At 850, a report is generated based on the case series, where the reportis a visualization of the case series. In certain embodiments, thereport includes a visual display of one or more data fields of the caseseries. According to certain embodiments, the case series can beretrieved from the case series repository using a reporting case seriesAPI, where the reporting case series API defines a format of the caseseries for a reporting application. In these embodiments, the report canbe displayed within the reporting application. Also, in certainembodiments, the case series can be retrieved from the case seriesrepository using an interoperable case series API, where theinteroperable case series API defines a format of the case series for apartner application. In these embodiments, the case series can beconsumed within the partner application. The flow then ends.

FIG. 9 illustrates an example query 910 that creates an example caseseries 920 that creates an example report 930, according to anembodiment of the invention. According to an embodiment, an executableprocess can execute query 910 on a data source, such as a drug safetysystem, where query 910 is a query to retrieve all fatal adverse eventcases (i.e., all adverse event cases where a data field “Death” has avalue of 1).

The execution of query 910 produces case series 920, according to theembodiment, where case series 920 comprises a list of adverse eventcases that matches the conditions specified in query 910. Case series920 can include at least a case identifier for each adverse event case,and may also include additional case data or metadata that represent theadverse event cases in the case series. In the illustrated embodiment,case series 920 includes a plurality of adverse event cases, where eachadverse event case includes: (a) a case identifier data field, whereeach value identifies a case identifier for the adverse event case; and(b) a country data field, where each value identifies a country that theadverse event case is associated with.

According to an embodiment, an executable process can generate report930 based on case series 920. Report 930 is a visualization of caseseries 920, where the data fields of case series 920 can be changeddepending on a desired format. In the illustrated embodiment, report 930includes a plurality of adverse event cases, where each adverse eventcase includes: (a) a case identifier data field, where each valueidentifies a case identifier for the adverse event case; (b) a “serious”data field, where each value identifies whether the adverse event caseis a serious adverse event case; and (c) a “listed” data field, whereeach value identifies whether the adverse event case is a listed adverseevent case. One of ordinary skill in the art would readily appreciatethat the formats of query 910, case series 920, and report 930 areexample formats according to an example embodiment, and that queries,case series, and/or reports can have other formats in alternateembodiments.

Further details of the cohort identification system and theinteroperable case series are described in the Appendix that is includedalong with this specification.

Thus, in one embodiment, an interoperable case series system is providedthat can facilitate a transfer of case series between multiple softwareapplications. According to the embodiment, the interoperable case seriessystem can enable a much higher degree of cross-application automation.Further, the interoperable case series can increase the scientificintegrity and verifiability of conclusions reached using data, and canmake it easier for individual to check and refine their work. Theinteroperable case series system can be relevant to any product in thedrug safety space, because the interoperable case series system can beused to better integrate two or more applications that are required toshare a case series, or to better integrate a transactional andreporting module of a single application.

Beyond drug safety, the interoperable case series system can be used inother health science domains such as epidemiology and translationalmedicine research. For example, a health science application can be usedto identify a cohort of patients and save it as a patient list. Theinteroperable case series system can be used as an interface between acohort identification/query application and a business intelligencevisualization application. Anytime there is a need for these twoapplications to transfer a patient list to each other, the interoperablecase series system could facilitate the transfer of the patient list.Further, many healthcare institutions have networks of applications anddatabases that contain data for the same patients. An interoperable caseseries system, according to an embodiment, could facilitate the transferof a patient list between these applications.

The features, structures, or characteristics of the invention describedthroughout this specification may be combined in any suitable manner inone or more embodiments. For example, the usage of “one embodiment,”“some embodiments,” “certain embodiment,” “certain embodiments,” orother similar language, throughout this specification refers to the factthat a particular feature, structure, or characteristic described inconnection with the embodiment may be included in at least oneembodiment of the present invention. Thus, appearances of the phrases“one embodiment,” “some embodiments,” “a certain embodiment,” “certainembodiments,” or other similar language, throughout this specificationdo not necessarily all refer to the same group of embodiments, and thedescribed features, structures, or characteristics may be combined inany suitable manner in one or more embodiments.

One having ordinary skill in the art will readily understand that theinvention as discussed above may be practiced with steps in a differentorder, and/or with elements in configurations which are different thanthose which are disclosed. Therefore, although the invention has beendescribed based upon these preferred embodiments, it would be apparentto those of skill in the art that certain modifications, variations, andalternative constructions would be apparent, while remaining within thespirit and scope of the invention. In order to determine the metes andbounds of the invention, therefore, reference should be made to theappended claims.

We claim:
 1. A computer-readable medium having instructions storedthereon that, when executed by a processor, cause the processor tointegrate a case series repository with one or more softwareapplications, the integrating comprising: receiving a case series,wherein the case series comprises one or more adverse event cases, andwherein each adverse event case comprises a data record that representsan adverse event; receiving a case revision, wherein the case revisioncomprises case revision information, and wherein the case revisioninformation comprises at least one change to an adverse event case ofthe case series; storing the case series and the case revision within acase series repository using a case series data model, wherein the caseseries data model defines a format of the case series and the caserevision within the case series repository; associating the caserevision with the case series using the case series data model; andretrieving the case series and the associated case revision using a caseseries application programming interface, wherein the case seriesapplication programming interface defines a format of the case seriesand the associated case revision for a software application.
 2. Thecomputer-readable medium of claim 1, wherein the case series data modelcomprises a data field that represents one or more case identifiers ofthe case series, and one or more additional data fields that representthe one or more adverse event cases of the case series, and wherein eachcase identifier uniquely identifies an adverse event case of the one ormore adverse event cases.
 3. The computer-readable medium of claim 2,wherein the case series data model comprises one or more additional datafields that represent the case revision information.
 4. Thecomputer-readable medium of claim 1, wherein the case revisioninformation comprises timestamp information that identifies the caserevision.
 5. The computer-readable medium of claim 4, wherein thetimestamp information comprises a valid start date and/or time and avalid end date and/or time; and wherein the case series data modelcomprises one or more additional data fields that represent thetimestamp information.
 6. The computer-readable medium of claim 1, theintegrating further comprising: creating a change log, wherein thechange log comprises case series history information, and wherein thecase series history information comprises information regarding thehistory of the case series; storing the change log within the caseseries repository using the case series data model, wherein the caseseries data model defines a format of the change log within the caseseries repository; and associating the change log with the case seriesusing the case series data model.
 7. The computer-readable medium ofclaim 1, the integrating further comprising: creating an annotation,wherein the annotation comprises user-defined information; storing theannotation within the case series repository using the case series datamodel; and associating the annotation with the case revision using thecase series data model.
 8. The computer-readable medium of claim 1, theintegrating further comprising: creating a folder, wherein the foldercomprises a logical organization of the case series, and one or moreadditional case series; storing the folder within the case seriesrepository using the case series data model; and associating the caseseries with the folder using the case series data model.
 9. Thecomputer-readable medium of claim 1, wherein the case series comprisesone of: a named case series; an active user case series; a single-usecase series; or a case hit list.
 10. The computer-readable medium ofclaim 1, wherein the case series comprises one of: an event series; or aproduct series.
 11. The computer-readable medium of claim 1, wherein thecase series comprises one or more reports or patient identifiers thatare related to the safety of one or more drugs.
 12. Thecomputer-readable medium of claim 1, wherein the case series comprises aplurality of case revisions.
 13. A computer-implemented method forintegrating a case series repository with one or more softwareapplications, the computer-implemented method comprising: receiving acase series, wherein the case series comprises one or more adverse eventcases, and wherein each adverse event case comprises a data record thatrepresents an adverse event; receiving a case revision, wherein the caserevision comprises case revision information, and wherein the caserevision information comprises at least one change to an adverse eventcase of the case series; storing the case series and the case revisionwithin a case series repository using a case series data model, whereinthe case series data model defines a format of the case series and thecase revision within the case series repository; associating the caserevision with the case series using the case series data model; andretrieving the case series and the associated case revision using a caseseries application programming interface, wherein the case seriesapplication programming interface defines a format of the case seriesand the associated case revision for a software application.
 14. Thecomputer-implemented method of claim 13, wherein the case series datamodel comprises a data field that represents one or more caseidentifiers of the case series, and one or more additional data fieldsthat represent the one or more adverse event cases of the case series,and wherein each case identifier uniquely identifies an adverse eventcase of the one or more adverse event cases.
 15. Thecomputer-implemented method of claim 14 wherein the case series datamodel comprises one or more additional data fields that represent thecase revision information.
 16. The computer-implemented method of claim13, wherein the case revision information comprises timestampinformation that identifies the case revision.
 17. Thecomputer-implemented method of claim 16, wherein the timestampinformation comprises a valid start date and/or time and a valid enddate and/or time; and wherein the case series data model comprises oneor more additional data fields that represent the timestamp information.18. A system for integrating a case series repository with one or moresoftware applications, the system comprising: a processor; a memoryconfigured to store one or more instructions; a case series receptionmodule configured to receive a case series, wherein the case seriescomprises one or more adverse event cases, and wherein each adverseevent case comprises a data record that represents an adverse event; acase revision reception module configured to receive a case revision,wherein the case revision comprises case revision information, andwherein the case revision information comprises at least one change toan adverse event case of the case series; a storage module configured tostore the case series and the case revision within a case seriesrepository using a case series data model, wherein the case series datamodel defines a format of the case series and the case revision withinthe case series repository; an association module configured toassociate the case revision with the case series using the case seriesdata model; and a retrieval module configured to retrieve the caseseries and the associated case revision using a case series applicationprogramming interface, wherein the case series application programminginterface defines a format of the case series and the associated caserevision for a software application.
 19. The system of claim 18, whereinthe case series data model comprises a data field that represents one ormore case identifiers of the case series, and one or more additionaldata fields that represent the one or more adverse event cases of thecase series, and wherein each case identifier uniquely identifies anadverse event case of the one or more adverse event cases.
 20. Thesystem of claim 19 wherein the case series data model comprises one ormore additional data fields that represent the case revisioninformation.
 21. The system of claim 18, wherein the case revisioninformation comprises timestamp information that identifies the caserevision.
 22. The system of claim 21, wherein the timestamp informationcomprises a valid start date and/or time and a valid end date and/ortime; and wherein the case series data model comprises one or moreadditional data fields that represent the timestamp information.